﻿Namespace GestionCalculs
    ''' <summary>
    ''' Fonction de Calcul Individuelle
    ''' </summary>
    ''' <remarks></remarks>
    Public Class FonctionCalculIndividuelle
        Inherits FonctionCalcul

        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Protected _fonctionCalcul As typeFonctionCalcul

        ''' <summary>
        ''' 
        ''' </summary>
        ''' <param name="modeRecalcul">Mode de  Recalcul</param>
        ''' <param name="fonctionCalcul">Type de FonctionCalcul</param>
        ''' <remarks></remarks>
        Public Sub New(ByVal modeRecalcul As TypeRecalcul, _
               ByVal fonctionCalcul As typeFonctionCalcul)
            MyBase.New(modeRecalcul)
            _fonctionCalcul = fonctionCalcul
        End Sub

        ''' <summary>
        ''' 
        ''' </summary>
        ''' <remarks></remarks>
        Public Overrides Sub Calculer(Optional ByVal ForcerCalcul As Boolean = False)
            If EtatCalcul <> ValueEtatCalcul.NON_INITIALISE Or ForcerCalcul = True Then
                _fonctionCalcul.Invoke()
                _etatCalcul.Value = ValueEtatCalcul.A_JOUR
                RaiseEventAfterCalculer(Me, New EventArgs)
            End If
        End Sub
    End Class
End Namespace
